//package process_demo.thread_pool.impl;
//
///**
// * 正式员工执行任务
// * @author haomin
// * @date 2022/05/05 19:09
// **/
//import java.util.concurrent.BlockingQueue;
//
//// 一个正式员工线程要完成的工作
//public class CoreJob implements Runnable {
//    // 需要阻塞队列
//    private final BlockingQueue<Runnable> workQueue;
//    private Runnable firstCommand;
//
//    CoreJob(BlockingQueue<Runnable> workQueue, Runnable firstCommand) {
//        this.workQueue = workQueue;
//        this.firstCommand = firstCommand;
//    }
//
//    @Override
//    public void run() {
//        try {
//            firstCommand.run();     // 优先先把刚提交的任务先做掉了
//            firstCommand = null;    // 这里设置 null 的意思是，不影响 firstCommand 对象被 GC 时的回收
//
//            while (!Thread.interrupted()) {
//                Runnable command = workQueue.take();
//                command.run();
//            }
//        } catch (InterruptedException ignored) {}
//    }
//}